//
// Created by lymk on 2022/2/26.
//

#ifndef SOFTRENDER_VERTEX_H
#define SOFTRENDER_VERTEX_H

#include "Common.h"
class VertexIn {
public:
    glm::vec4 pos;
    glm::vec4 color;
    glm::vec2 texCoord;
    glm::vec3 normal;
    VertexIn(glm::vec4 m_pos,glm::vec4 m_color,glm::vec2 m_texCoord,glm::vec3 m_normal):
        pos(m_pos),color(m_color),texCoord(m_texCoord),normal(m_normal){
    }
    VertexIn(){
        pos = glm::vec4(0.f,0.f,0.f,0.f);
        color = glm::vec4(0.f,0.f,0.f,0.f);
        texCoord = glm::vec2(0.f,0.f);
        normal = glm::vec3(0.f,0.f,0.f);
    }
};

class VertexOut{
public:
    glm::vec4 pos;
    glm::vec4 worldPos;
    glm::vec4 color;
    glm::vec2 texCoord;
    glm::vec3 normal;
    VertexOut(glm::vec4 p,glm::vec4 wp,glm::vec4 m_color,glm::vec2 m_texCoord,glm::vec3 m_normal):
            pos(p),worldPos(wp),color(m_color),texCoord(m_texCoord),normal(m_normal){
    }
    VertexOut(){
        color = glm::vec4(0.f,0.f,1.f,0.f);
        texCoord = glm::vec2(0.f,0.f);
        normal = glm::vec3(0.f,0.f,0.f);
    }
};


#endif //SOFTRENDER_VERTEX_H
